package com.flamezebra.kotlin

// 函数：Kotlin中的函数和Java中的方法类似，但不是完全相同。Kotlin中的函数既可以写在类内，也可以写在类外；Java中的方法只能写在类内
// 1. 使用fun关键字来定义一个函数。   可见修饰符 fun 函数名(参数列表){/*...*/}
// 2. 函数如果不写返回值类型，默认返回Unit类型。Unit类型类似Java中的void。
// 3. 函数的函数体如果只有一行代码，那么可以将函数写成一行
// 4. 函数可以根据返回值的类型推断自己的返回值类型(只在一行函数的情况下可以)
fun main() {

}

// 1. 函数的正常定义
fun func1(a: Int, b: Int): Int {
    return a + b
}

// 2. 没有返回值，编译器会默认添加一个Unit作为返回值
fun func2(a: Int, b: Int) {
    println("$a, $b")
}

// 3. 函数的一行形式
fun fun3(a: Int, b: Int): Int = a + b

// 4. 函数的只有在一行的情况下，才会根据返回值的类型推断自己的返回值类型，返回值类型就可以省略不写了
fun fun4(a: Int, b: Int) = a + b

// 5. 增加可见性修饰符
private fun fun5(a: Int, b: Int) = a + b